/**
 * Generali Solutions d'assurances - Tous droits réservés &copy; 2007 - 2010
 */
package fr.generali.accueilclient.commun.handler;

import fr.generali.accueilclient.commun.exception.AccueilClientBusinessException;
import fr.generali.accueilclient.commun.request.Request;

/**
 * @author Holmes Kelly
 * @param <S>
 */
public abstract class AbstractHandler<S> implements IHandler<S> {

    /**
     * hSuccessor
     */
    private IHandler<S> hSuccessor;

    /**
     * {@inheritDoc}
     */
    public IHandler<S> gethSuccessor() {
        return hSuccessor;
    }

    /**
     * {@inheritDoc}
     */
    public void sethSuccessor(IHandler<S> successor) {
        this.hSuccessor = successor;
    }

    /**
     * {@inheritDoc}
     */
    public abstract void handleRequest(Request<S> request) throws AccueilClientBusinessException;
}
